Advanced Position Management [Mr_Rakun]Advanced Position Management
This Pine Script code is for a strategy titled "Advanced Position Management," aimed at effective trade execution and management using multiple take profit levels, trailing stop loss, and dynamic position sizing.
Take Profit Levels: It defines up to three take profit (TP) levels, allowing partial position exits at different price thresholds. The take profit levels and their respective quantities are adjustable using inputs.
Stop Loss and Trailing Stop: The script implements an initial stop loss based on a percentage from the entry price. Additionally, it features a trailing stop that moves based on either a percentage or previous TP levels, dynamically adjusting to maximize gains while protecting profits.
Position Size: The position size is customizable and based on USD value, allowing the trader to manage risk more effectively.
Advantages:
Flexibility: Multiple take profit levels and a dynamic stop loss system allow traders to lock in profits while keeping the position open for further gains.
Risk Management: The initial stop loss and trailing stop help to limit losses and protect profits as the trade moves in the desired direction.
Automation: Once the strategy is deployed, it automatically handles entry, exit, and stop management, reducing the need for constant monitoring.
------ TR ------
Gelişmiş Pozisyon Yönetimi
Bu Pine Script kodu, Gelişmiş Pozisyon Yönetimi için kendi stratejilerinize kolayca entegre edeceğiniz bir risk yönetimidir. Çoklu kâr al seviyeleri, takip eden stop-loss ve dinamik pozisyon büyüklüğü kullanarak işlem yürütme ve yönetiminde etkilidir.
Gelişmiş Pozisyon Yönetimi
Kâr Alma Seviyeleri;
Kod, pozisyonların farklı fiyat seviyelerinde kısmi kapatılmasını sağlayan üç farklı kâr alma (TP) seviyesini tanımlar. Bu kâr alma seviyeleri ve ilgili miktarları, girişlerle ayarlanabilir.
Stop Loss ve Takip Eden Stop;
Koda, giriş fiyatından bir yüzdeye dayalı olarak başlangıçta stop-loss uygulanır. Ayrıca, fiyat hareketine göre kendini ayarlayan takip eden bir stop-loss sistemi bulunur. Ayrıca TP seviyelerini takip eden stop loss özelliğide vardır.
Avantajları:
Esneklik;
Çoklu kâr alma seviyeleri ve dinamik stop-loss sistemi, trader'ların kazançlarını kilitleyip aynı zamanda pozisyonu açık tutmalarına olanak tanır.
Risk Yönetimi;
Başlangıç stop-loss ve takip eden stop, zararı sınırlamaya ve kazançları korumaya yardımcı olur.
Otomasyon;
Strateji bir kez devreye alındığında, giriş, çıkış ve stop yönetimi otomatik olarak gerçekleştirilir, bu da sürekli takip ihtiyacını azaltır.
Cari dalam skrip untuk "the script"
Custom Buy BID StrategyThis Pine Script strategy is designed to identify and capitalize on upward trends in the market using the Average True Range (ATR) as a core component of the analysis. The script provides the following features:
Customizable ATR Calculation: Users can switch between different methods of ATR calculation (traditional or simple moving average).
Adjustable Parameters: The strategy allows for adjustable ATR periods, ATR multipliers, and custom time windows for executing trades.
Buy Signal Alerts: The strategy generates buy signals when the market shifts from a downtrend to an uptrend, based on ATR and price action.
Profit and Stop-Loss Management: Built-in take profit and stop-loss conditions are calculated as a percentage of the entry price, allowing for automatic position management.
Visual Enhancements: The script highlights the uptrend with green lines and optionally colors bars to help visualize market direction.
Flexible Timeframe: Users can configure a specific date range to activate the strategy, offering more control over when trades are executed.
This strategy is ideal for traders looking to automate their buy entries and manage risk with a straightforward trend-following approach. By utilizing customizable settings, it adapts to various market conditions and timeframes.
ICT Indicator with Paper TradingThe strategy implemented in the provided Pine Script is based on **ICT (Inner Circle Trader)** concepts, particularly focusing on **order blocks** to identify key levels for potential reversals or continuations in the market. Below is a detailed description of the strategy:
### 1. **Order Block Concept**
- **Order blocks** are price levels where large institutional orders accumulate, often leading to a reversal or continuation of price movement.
- In this strategy, **order blocks** are identified when:
- The high of the current bar crosses above the high of the previous bar (for bullish order blocks).
- The low of the current bar crosses below the low of the previous bar (for bearish order blocks).
### 2. **Buy and Sell Signal Generation**
The core of the strategy revolves around identifying the **breakout** of order blocks, which is interpreted as a signal to either enter or exit trades:
- **Buy Signal**:
- Generated when the closing price crosses **above** the last identified bullish order block (i.e., the highest point during the last upward crossover of highs).
- This signals a potential upward trend, and the strategy enters a long position.
- **Sell Signal**:
- Generated when the closing price crosses **below** the last identified bearish order block (i.e., the lowest point during the last downward crossover of lows).
- This signals a potential downward trend, and the strategy exits any open long positions.
### 3. **Strategy Execution**
The strategy is executed using the `strategy.entry()` and `strategy.close()` functions:
- **Enter Long Positions**: When a buy signal is generated, the strategy opens a long position (buying).
- **Exit Positions**: When a sell signal is generated, the strategy closes the long position.
### 4. **Visual Indicators on the Chart**
To make the strategy easier to follow visually, buy and sell signals are marked directly on the chart:
- **Buy signals** are indicated with a green upward-facing triangle above the bar where the signal occurred.
- **Sell signals** are indicated with a red downward-facing triangle below the bar where the signal occurred.
### 5. **Key Elements of the Strategy**
- **Trend Continuation and Reversals**: This strategy is attempting to capture trends based on the breakout of important price levels (order blocks). When the price breaks above or below a significant order block, it is expected that the market will continue in that direction.
- **Order Block Strength**: Order blocks are considered strong areas where price action could reverse or accelerate, based on how institutional investors place large orders.
### 6. **Paper Trading**
This script uses **paper trading** to simulate trades without actual money being involved. This allows users to backtest the strategy, seeing how it would have performed in historical market conditions.
### 7. **Basic Strategy Flow**
1. **Order Block Identification**: The script constantly monitors price movements to detect bullish and bearish order blocks.
2. **Buy Signal**: If the closing price crosses above the last order block high, the strategy interprets it as a sign of bullish momentum and enters a long position.
3. **Sell Signal**: If the closing price crosses below the last order block low, it signals a bearish momentum, and the strategy closes the long position.
4. **Visual Representation**: Buy and sell signals are displayed on the chart for easy identification.
### **Advantages of the Strategy:**
- **Simple and Clear Rules**: The strategy is based on clearly defined rules for identifying order blocks and trade signals.
- **Effective for Trend Following**: By focusing on breakouts of order blocks, this strategy attempts to capture strong trends in the market.
- **Visual Aids**: The plot of buy/sell signals helps traders to quickly see where trades would have been placed.
### **Limitations:**
- **No Shorting**: This strategy only enters long positions (buying). It does not account for shorting opportunities.
- **No Risk Management**: There are no built-in stop losses, trailing stops, or profit targets, which could expose the strategy to large losses during adverse market conditions.
- **Whipsaws in Range Markets**: The strategy could produce false signals in sideways or choppy markets, where breakouts are short-lived and prices quickly reverse.
### **Overall Strategy Objective:**
The goal of the strategy is to enter into long positions when the price breaks above a significant order block, and exit when it breaks below. The strategy is designed for trend-following, with the assumption that price will continue in the direction of the breakout.
Let me know if you'd like to enhance or modify this strategy further!
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
CCI and MACD Auto Trading Strategy with Risk/RewardOverview:
This strategy combines the Commodity Channel Index (CCI) and the Moving Average Convergence Divergence (MACD) indicators to automate trading decisions. It dynamically sets stop-loss and take-profit levels based on recent lows and highs, ensuring a risk/reward ratio of 1:1.5. This script aims to leverage trend and momentum signals while maintaining effective risk management.
Originality and Usefulness:
This script is not just a simple mashup of CCI and MACD indicators; it incorporates dynamic risk management by setting stop-loss and take-profit levels based on recent price action. This approach helps traders to:
・Identify potential trend reversals using the combination of CCI and MACD signals.
・Manage trades effectively by setting realistic stop-loss and take-profit levels based on recent market data.
・Maintain a balanced risk/reward ratio, which is essential for sustainable trading.
Indicators Used:
・CCI (Commodity Channel Index):
・Measures the deviation of the price from its average over a specified period, typically ranging from -100 to +100.
・Helps identify overbought and oversold conditions.
・MACD (Moving Average Convergence Divergence):
・Utilizes the difference between short-term and long-term moving averages to indicate trend strength and direction.
・Provides momentum signals that can be used for timing entries and exits.
How It Works:
Entry Conditions:
Long Entry:
・The MACD histogram is above zero.
・The CCI crosses above the -100 line.
Short Entry:
・The MACD histogram is below zero.
・The CCI crosses below the +100 line.
Exit Conditions:
Long Positions:
・The stop-loss is set at the recent low.
・The take-profit is set at 1.5 times the distance between the entry price and the stop-loss.
Short Positions:
・The stop-loss is set at the recent high.
・The take-profit is set at 1.5 times the distance between the entry price and the stop-loss.
Risk Management:
・The script dynamically adjusts stop-loss and take-profit levels based on recent market data, ensuring that the risk/reward ratio is maintained at 1:1.5.
・This approach helps in managing the risk effectively while aiming for consistent profits.
Strategy Properties:
・Account Size: Configured for a realistic account size suitable for the average trader.
・Commission and Slippage: Includes settings for realistic commission and slippage to reflect real market conditions.
・Risk per Trade: Designed to risk no more than 5-10% of equity per trade, aligning with sustainable trading practices.
・Backtesting Results: Configured to generate a sufficient sample size (ideally more than 100 trades) for reliable backtesting results.
Revised Backtesting Settings
Ensure that your backtesting settings are realistic:
・Account Size: Set a realistic initial capital suitable for the average trader.
・Commission and Slippage: Include realistic commission fees and slippage.
・Risk Management: Ensure that each trade risks no more than 5-10% of the account equity.
・Sufficient Sample Size: Choose a dataset that will generate more than 100 trades to provide a robust sample size.
BTC outperform atrategy### Code Description
This Pine Script™ code implements a simple trading strategy based on the relative prices of Bitcoin (BTC) on a weekly and a three-month basis. The script plots the weekly and three-month closing prices of Bitcoin on the chart and generates trading signals based on the comparison of these prices. The code can also be applied to Ethereum (ETH) with similar effectiveness.
### Explanation
1. **Inputs and Variables**:
- The user selects the trading symbol (default is "BINANCE:BTCUSDT").
- `weeklyPrice` retrieves the closing price of the selected symbol on a weekly interval.
- `monthlyPrice` retrieves the closing price of the selected symbol on a three-month interval.
2. **Plotting Data**:
- The weekly price is plotted in blue.
- The three-month price is plotted in red.
3. **Trading Conditions**:
- A long position is suggested if the weekly price is greater than the three-month price.
- A short position is suggested if the three-month price is greater than the weekly price.
4. **Strategy Execution**:
- If the long condition is met, the strategy enters a long position.
- If the short condition is met, the strategy enters a short position.
This script works equally well for Ethereum (ETH) by changing the symbol input to "BINANCE:ETHUSDT" or any other desired Ethereum trading pair.
MCOTs Intuition StrategyInitial Capital: The strategy starts with an initial capital of $50,000.
Execution: Trades are executed on every price tick to capture all potential movements.
Contract Size: The default position size is one contract per trade.
Timeframe: Although not explicitly mentioned, this strategy is intended for a one-minute timeframe.
RSI Calculation: The Relative Strength Index (RSI) is calculated over a user-defined period (default is 14 periods).
Standard Deviation: The script calculates the standard deviation of the change in RSI values to determine the threshold for entering trades.
Exhaustion Detection: Before entering a long or short position, the script checks for exhaustion in the RSI’s momentum. This is to avoid entering trades during extreme conditions where a reversal is likely.
Entry Conditions: A long position is entered when the current RSI momentum exceeds the standard deviation threshold and is less than the previous momentum multiplied by an exhaustion factor. A short position is entered under the opposite conditions.
Limit Orders for Exit: Instead of traditional stop loss and take profit orders, the strategy uses limit orders to exit positions. This means the strategy sets a desired price level to close the position and waits for the market to reach this price.
Profit Target and Stop Loss: The script allows setting a profit target and stop loss in terms of ticks, which are the smallest measurable increments in price movement for the traded asset.
blah blah whatever
RSI Strategy with Manual TP and SL 19/03/2024This TradingView script implements a simple RSI (Relative Strength Index) strategy with manual take profit (TP) and stop-loss (SL) levels. Let's break down the script and analyze its components:
RSI Calculation: The script calculates the RSI using the specified length parameter. RSI is a momentum oscillator that measures the speed and change of price movements. It ranges from 0 to 100 and typically values above 70 indicate overbought conditions while values below 30 indicate oversold conditions.
Strategy Parameters:
length: Length of the RSI period.
overSold: Threshold for oversold condition.
overBought: Threshold for overbought condition.
trail_profit_pct: Percentage for trailing profit.
Entry Conditions:
For a long position: RSI crosses above 30 and the daily close is above 70% of the highest close in the last 50 bars.
For a short position: RSI crosses below 70 and the daily close is below 130% of the lowest close in the last 50 bars.
Entry Signals:
Long entry is signaled when both conditions for a long position are met.
Short entry is signaled when both conditions for a short position are met.
Manual TP and SL:
Take profit and stop-loss levels are calculated based on the entry price and the specified percentage.
For long positions, the take profit level is set above the entry price and the stop-loss level is set below the entry price.
For short positions, the take profit level is set below the entry price and the stop-loss level is set above the entry price.
Strategy Exits:
Exit conditions are defined for both long and short positions using the calculated take profit and stop-loss levels.
Chart Analysis:
This strategy aims to capitalize on short-term momentum shifts indicated by RSI crossings combined with daily price movements.
It utilizes manual TP and SL levels, providing traders with flexibility in managing their positions.
The strategy may perform well in ranging or oscillating markets where RSI signals are more reliable.
However, it may encounter challenges in trending markets where RSI can remain overbought or oversold for extended periods.
Traders should backtest this strategy thoroughly on historical data and consider optimizing parameters to suit different market conditions.
Risk management is crucial, so traders should carefully adjust TP and SL percentages based on their risk tolerance and market volatility.
Overall, this strategy provides a structured approach to trading based on RSI signals while allowing traders to customize their risk management. However, like any trading strategy, it should be used judiciously and in conjunction with other forms of analysis and risk management techniques.
TTP Intelligent AccumulatorThe intelligent accumulator is a proof of concept strategy. A hybrid between a recurring buy and TA-based entries and exits.
Distribute the amount of equity and add to your position as long as the TA condition is valid.
Use the exit TA condition to define your exit strategy.
Decide between adding only into losing positions to average down or take a riskier approach by allowing to add into a winning position as well.
Take full profit or distribute your exit into multiple take profit exists of the same size.
You can also decide if you allow your exit conditions to close your position in a loss or require a minimum take profit %.
The strategy includes a default built-in TA conditions just for showcasing the idea but the final intent of this script is to delegate the TA entries and exists to external sources.
The internal conditions use RSI length 7 crossing below the BB with std 1 for entries and above for exits.
To control the number of orders use the properties from settings:
- adjust the pyramiding
- adjust the percentage of equity
- make sure that pyramiding * % equity equals 100 to prevent over use of equity (unless using leverage)
The script is designed as an alternative to daily or weekly recurring buys but depending on the accuracy of your TA conditions it might prove profitable also in lower timeframes.
The reason the script is named Intelligent is because recurring buy is most commonly used without any decision making: buy no matter what with certain frequency. This strategy seeks to still perform recurring buys but filtering out some of the potential bad entries that can delay unnecessarily seeing the position in profits. The second reason is also securing an exit strategy from the beginning which no recurring buy option offers out-of-the-box.
Stx Monthly Trades ProfitMonthly profit displays profits in a grid and allows you to know the gain related to the investment during each month.
The profit could be computed in terms of gain/trade_cost or as percentage of equity update.
Settings:
- Profit: Monthly profit percentage or percentage of equity
- Table position
This strategy is intended only as a container for the code and for testing the script of the profit table.
Setting of strategy allows to select the test case for this snippet (percentage grid).
Money management: not relevant as strategy is a test case.
This script stand out as take in account the gain of each trade in relation to the capital invested in each trade. For example consider the following scenario:
Capital of 1000$ and we invest a fixed amount of 1000$ (I know is too risky but is a good example), we gain 10% every month.
After 10 months our capital is of 2000$ and our strategy is perfect as we have the same performance every month.
Instead, evaluating the percentage of equity we have 10% the first month, 9.9% the second (1200$/1100$ - 1) and 5.26% the tenth month. So seems that strategy degrade with times but this is not true.
For this reason, to evaluate my strategy I prefer to see the montly return of investment.
WARNING: The strategy provided with this script is only a test case and allows to see the behavior with different "trades" management, for these reason commision are set to zero.
At the moment only the provided test cases are handled:
test 1 - single entry and single exit;
test 2 - single entry and multiple exits;
test 3 - single entry and switch position;
hamster-bot MRS 2 (simplified version) MRS - Mean Reversion Strategy (Countertrend) (Envelope strategy)
This script does not claim to be unique and does not mislead anyone. Even the unattractive backtest result is attached. The source code is open. The idea has been described many times in various sources. But at the same time, their collection in one place provides unique opportunities.
Published by popular demand and for ease of use. so that users can track the development of the script and can offer their ideas in the comments. Otherwise, you have to communicate in several telegram chats.
Representative of the family of counter-trend strategies. The basis of the strategy is Mean reversion . You can also read about the Envelope strategy .
Mean reversion , or reversion to the mean, is a theory used in finance that suggests that asset price volatility and historical returns eventually will revert to the long-run mean or average level of the entire dataset.
The strategy is very simple. Has very few settings. Good for beginners to get acquainted with algorithmic trading. A simple adjustment will help avoid overfitting. There are many variations of this strategy, but for understanding it is better to start with this implementation.
Principle of operation.
1)
A conventional MA is being built. (fuchsia line). A limit order is placed on this line to close the position.
2)
(green line) A limit order is placed on this line to open a long position
3)
(red line) A limit order is placed on this line to open a short position
Attention!
Please note that a limit order is used. Conclude that the strategy has a limited capacity. And the results obtained on low-liquid instruments will be too high in the tester. On real auctions there will be a different result.
Note for testing the strategy in the spot market:
When testing in the spot market, do not include both long and short at the same time. It is recommended to test only the long mode on the spot. Short mode for more advanced users.
Settings:
Available types of moving averages:
SMA
EMA
TEMA - triple exponential moving average
DEMA - Double Exponential Moving Average
ZLEMA - Zero lag exponential moving average
WMA - weighted moving average
Hma - Hull Moving Average
Thma - Triple Exponential Hull Moving Average
Ehma - Exponential Hull Moving Average
H - MA built based on highs for n candles | ta.highest(len)
L - MA built based on lows for n candles | ta.lowest(len)
DMA - Donchian Moving Average
A Kalman filter can be applied to all MA
The peculiarity of the strategy is a large selection of MA and the possibility of shifting lines. You can set up a reverse trending strategy on the Donchian channel for example.
Use Long - enable/disable opening a Long position
Use Short - enable/disable opening a Short position
Lot Long, % - % allocated from the deposit for opening a Long position. In the spot market, do not use % greater than 100%
Lot Short, % - allocated % of the deposit for opening a Short position
Start date - the beginning of the testing period
End date - the end of the testing period (Example: only August 2020 can be tested)
Mul - multiplier. Used to offset lines. Example:
Mul = 0.99 is shift -1%
Mul = 1.01 is shift +1%
Non-strict recommendations:
1) Test the SPOT market on crypto exchanges. (The countertrend strategy has liquidation risk on futures)
2) Symbols altcoin/bitcoin or altcoin/altcoin. Example: ETH/BTC or DOGE/ETH
3) Timeframe is usually 1 hour
If the script passes moderation, I will supplement it by adding separate settings for closing long and short positions according to their MA
MMI Auto Backtesting StrategyDescription:
A strategy based on ATR with auto-backtesting capabilities, Take Profit and Stop Loss (either Normal or Trailing). It allows you to select ranges of values and step for each parameter, and backtest the strategy on a multitude of input combinations at once. You can alternatively use a constant value for each parameter. The backtesting results strive to be as close as possible to those given by Tradingview Strategy Tester.
The strategy displays a table with results for different input combinations. This has columns showing current input combination as well as the following stats: Net Profit, Number of trades, % of Profitable trades, Profit Factor, Max Drawdown, Max Runup, Average Trade and Average number of bars in a trade.
You can sort the table by any column (including sorting by multiple columns at the same time) to find, for example, input combination that gives highest Net Profit (or, if sorting by multiple columns, to find input combination with the best balance of Net Profit and % of Profitable trades). You can filter by any column as well (or multiple columns at the same time), using logical expressions like "< value", "> value", "<= value", ">= value". And you can use logical expressions like "< value%" for Net Profit, Max Drawdown, Max Runup and Average trade to filter by percentage value. You will see a "↓" symbol in column's header if that column is sorted from Highest to Lowest, a "↑" symbol if it's sorted from Lowest to Highest and a "𐕢" symbol if that column is being filtered.
The table has customisable styles (like text color, background color of cells, etc.), and can show the total number of backtested combinations with the time taken to test them. You can also change Initial Capital and Position Size (either Contracts, Currency or % of Equity).
Parameters:
The following parameters are located in the "INPUTS (USUAL STRATEGY)" group, and control the behaviour of strategy itself (not the auto-backtesting functionality):
- Period: ATR Length
- Multiplier: ATR Multiplier
- DPO: length of the filtering moving average
- SL: stop loss
- TP: take profit
- Use Stop Loss: enable stop loss
- Stop Loss Mode: stop loss mode (either Normal or Trailing)
- Use Take Profit: enable take profit
- Wicks: use high & low price, or close price
The strategy also has various parameters separated by different groups:
- INPUTS (AUTO-BACKTESTING): has the same parameters as the "INPUTS (USUAL STRATEGY)" group, but controls the input combinations for auto-backtesting; all the numeric parameters have 3 values: F/V (from), T (to) and S (step); if the checkbox to the left of F/V parameter is off, the value of F/V will indicate the constant value used for that parameter (if the checkbox is on, the values will be from F/V to T using step S)
- STRATEGY: contains strategy related parameters like Initial Capital and Position Size
- BACKTESTING: allows you to display either Percentage, Absolute or Both values in the table and has checkboxes that allow you to exclude certain columns from the table
- SORTING: allows you to select sorting mode (Highest to Lowest or vice versa) and has checkboxes in case you want to sort by multiple columns at the same time
- FILTERING: has a text field for each column of the strategy where you can type logical expressions to filter the values
- TABLE: contains styling parameters
Many parameters have the "(i)" description marker, so hover over it to see more details.
Problems:
- The script works best on lower timeframes and continuous markets (trades 24/7), in other cases the backtesting results may vary from those that Tradingview shows
- The script shows closest results when Take Profit and Stop Loss are not used
- Max Runup percentage value is often wrong
Limitations:
- As we are limited by the maximum time a script can be running (which is 20s for Free plan and 40s for Paid plans), we can only backtest several hundreds of combinations within that timeframe (though it depends on the parameters, market and timeframe of the chart you use)
SOFEX High-End Indicators + BacktestingBINANCE:BTCUSDT.P BINANCE:ETHUSDT.P
Introducing the first publicly available suite of indicators for Bitcoin and Ethereum by Sofex - the High-End Indicators & Backtesting System.
🔬 Trading Philosophy
The High-End Indicators & Backtesting system offers both trend-following and mean-reversal algorithms to provide traders with a deep insight into the highly volatile cryptocurrency markets, known for their market noise and vulnerability to manipulation.
With these factors in mind, our indicators are designed to sidestep most potentially false signals. This is facilitated further by the "middle-ground" time frame (1 Hour) we use. Our focus is on the two largest cryptocurrencies: Bitcoin and Ethereum , which provide high liquidity, necessary for reliable trading.
Therefore, we recommend using our suite on these markets.
The backtesting version of the Sofex High-End Indicators includes mainly trend-following indicators. This is because our trading vision is that volatility in cryptocurrency markets is a tool that should be used carefully, and many times avoided. Furthermore, mean-reversal trading can lead to short-term profits, but we have found it less than ideal for long-term trading.
The script does not aim to make a lot of trades, or to always remain in a position and switch from long to short. Many times there is no direction and the market is in "random walk mode", and chasing trades is futile.
Based on our experience, it is preferable if traders remain neutral the majority of the time and only enter trades that can be exited in the foreseeable future. Trading just for the sake of it ultimately leads to loss in the long-run.
Expectations of performance should be realistic.
We also focus on a balanced take-profit to stop-loss ratio. In the default set-up of the script, that is a 2% : 2% (1:1) ratio. A relatively low stop loss and take profit build onto our idea that positions should be exited promptly. There are many options to edit these values, including enabling trailing take profit and stop loss. Traders can also completely turn off TP and SL levels, and rely on opposing signals to exit and enter new trades.
Extreme scenarios can happen on the cryptocurrency markets, and disabling stop-loss levels completely is not recommended. The position size should be monitored since all of it is at risk with no stop-loss.
We take pride in presenting this comprehensive suite of trading indicators, designed for both manual and automated use. Although automated use leads to increased efficiency, traders are free to incorporate any of our indicators into their own manual trading strategy.
⚙️ Indicators
By default, all indicators are enabled for both Long and Short trades.
Extreme Trend Breakouts
The Extreme Trend Breakouts indicator seeks to follow breakouts of support and resistance levels, while also accounting for the unfortunate fact that false signals can be generated on these levels. The indicator combines trend-breakout strategies with various other volatility and direction measurements. It works best in the beginning of trends.
Underpinning this indicator are renowned Perry Kaufman's Adaptive Moving Averages (PKAMA) alongside our proprietary adaptive moving averages. These dynamic indicators adjust their parameters based on recent price movements, attempting to catch trends while maintaining consistent performance in the long run.
In addition, our modification of the TTM Squeeze indicator further enhances the Extreme Trend Breakouts indicator, making it more responsive, especially during the initial stages of trends and filtering of "flat" markets.
High-Volatility Trend Follower
The High-Volatility Trend Follower indicator is based around the logic of evading market conditions where volatility is low (choppy markets) and aggressively following confirmed trends. The indicator works best during strong trends, however, it has the downside of entering trades at trend tops or bottoms.
This indicator also leverages our proprietary adaptive moving averages to identify and follow high-volatility trends effectively. Furthermore, it uses the Average Directional Index, Aroon Oscillator, ATR and a modified version of VWAP, to categorize trends into weak or strong ones. The VWAP indicator is used to identify the monetary (volume) inflow into a given trend, further helping to avoid short-term manipulations.
Low-Volatility Reversal
The Low-Volatility Reversal aims at plugging the holes that trend-following indicators ignore. It specifically looks for choppy markets. Using proven concepts such as Relative Strength Index and volume measurements, among others, this indicator finds local tops and bottoms with good accuracy. It works best in choppy markets with low to medium volatility. It has a downside that all reversals have, losing trades at the end of choppy markets and in the beginning of big trends.
This indicator, like the others, employs PKAMA in conjunction with our proprietary adaptive moving averages, and an Average PSAR indicator to seek out "sideways" markets. Furthermore, Bollinger Bands with an adaptive basis line is used, with the idea of trading against the short-term trends by looking at big deviations in price movement. The above mentioned indicators attempt to catch local tops and bottoms in markets.
Adaptive Trend Convergence
The Adaptive Trend Convergence aims at following trends while avoiding entering positions at local bottoms and tops. It does so by comparing a number of adaptive moving averages and looking for convergence among them. Adaptive filtering techniques for avoiding choppy markets are also used.
This indicator utilizes our proprietary adaptive moving averages, and an Average Price Range indicator to identify trend convergence and divergence effectively, preventing false signals during volatile market phases. It also makes use of Bollinger Bands with an adaptive moving average basis line and price-action adjusted deviation. Contrasting to the Low-Volatility Reversal condition described above, the Bollinger Bands used here attempt to follow breakouts outside of the lower and upper bands.
Double-Filtered Channel Breakouts
The Double-Filtered Channel Breakouts indicator is made out of adaptive channel-identifying indicators. The indicator then follows trends that significantly diverge from the established channels. This aims at following extreme trends, where rapid, continuous movements in either direction occur. This indicator works best in very strong trends and follows them relentlessly. However, these strong trends can end in strong reversals, and the indicator can be stopped out on the last trade.
Our Double-Filtered Channel Breakouts indicator is built on a foundation of adaptive channel indicators. We've harnessed the power of Keltner Channels and Bollinger Band Channels, with a similar approach used in the Adaptive Trend Convergence indicator. The basis and upper/lower bands of the channels do not rely on fixed deviation parameters, rather on adaptive ones, based on price action and volatility. This combination seeks to identify and follows extreme trends.
Direction Tracker
The Direction Tracker indicator is made out of a central slower, adaptive moving average that clearly recognizes global, long-term trends. Combined with direction and range indicators, among others, this indicator excels at finding the long-term trend and ignoring temporary pullbacks in the opposite direction. It works best at the beginning and middle of long and strong trends. It can fail at the end of trends and on very strong historical resistance lines (where sharp reversals are common).
Our Direction Tracker indicator integrates an adaptive SuperTrend indicator into its core, alongside our proprietary adaptive moving averages, to accurately identify and track long-term trends while mitigating temporary pullbacks. Furthermore, it uses Average True Range, ADX and other volatility indicators to attempt to catch unusual moves on the market early-on.
📟 Parameters Menu
To offer traders flexibility, our system comes with a comprehensive parameter menu:
Preset Selection : Choose between Bitcoin or Ethereum presets to tailor the indicators to your preferred cryptocurrency market.
Global Signal Direction: Set the global signal direction as Long, Short, or Both, depending on your trading strategy.
Global Sensitivity Parameter : Adjust the system's sensitivity to adapt to different trend-following conditions, particularly beneficial during higher-strength trends.
Source of Signals : Toggle individual indicators on or off according to your preference. By default, all indicators are enabled. Customize the indicators to trade Long, Short, or Both, aligning them with your desired market exposure.
Confirmation of Signals : Set the minimum number of confirmed signals on the same bar, ensuring signals are generated only when specific confirmation criteria are met. The default value is one, and it can be adjusted for both Long and Short signals.
Exit of Signals : You have options regarding Take-Profit (TP) and Stop-Loss (SL) levels. Enable TP/SL levels to exit trades at predetermined levels, or disable them to rely on direction changes for exits. Be aware that removing stop losses can introduce additional risk, and position sizing should be carefully monitored.
By enabling Trailing TP/SL, the system switches to a trailing approach, allowing you to:
- Place an initial customizable SL.
- Specify a level (%) for the Trailing SL to become active.
- When the activation level is reached, the system moves the trailing stop by a given Offset (%).
Additionally, you can enable exit at break-even, where the system places an exit order when the trail activation level is reached, accounting for fees and slippage.
Alert Messages : Define the fields for alert messages based on specific conditions. You can set up alerts to receive email, SMS, and in-app notifications. If you use webhooks for alerts, exercise caution, as these alerts can potentially execute trades without human supervision.
Backtesting : Default backtesting parameters are set to provide realistic backtesting performance:
- 0.04% Commission per trade (for both entries and exits)
- 3 ticks Slippage (highly dependent on exchange)
- Initial capital of $1000
- Order size of $1000
While the order size is equal to the initial capital, the script employs a 2% stop-loss order to limit losses and attempts to prevent risky trades from creating big losses. The order size is a set dollar value, so that the backtesting performance is linear, instead of using % of capital which may result in unrealistic backtesting performance.
Risk Disclaimer
Please be aware that backtesting results, while valuable for statistical overview, do not guarantee future performance in any way. Cryptocurrency markets are inherently volatile and risky. Always trade responsibly and do not risk more than you can afford to lose.
Vortex Cross w/MA ConfirmationThis script is a trading strategy that combines the Vortex Indicator and a Moving Average (MA) to generate potential entry signals for long and short positions.
1. Vortex Indicator:
The Vortex Indicator consists of two lines: Vortex Positive (VIP) and Vortex Negative (VIM). It is designed to identify trend direction and measure the strength of a trend.
2. Moving Average (MA):
The script uses a chosen type of Moving Average (SMA, EMA, SMMA, WMA, or VWMA) to smooth the price data. The smoothed line is referred to as the "Smoothing Line."
3. Determine Long and Short Conditions:
The script looks for potential long entry signals when VIP crosses above VIM, highlighting each crossover on the chart, and the closing price is above the Smoothing Line. It searches for short entry signals when VIM crosses above VIP, with the closing price is below the Smoothing Line. When the long or short conditions are met, the strategy enters either a long or short position accordingly.
Potential Usage:
The strategy can be utilized in trending markets, where the Vortex Indicator helps identify trend direction and strength, and the Moving Average smooths the price data to filter out some noise. It aims to capture trends and ride them while avoiding false signals during choppy or sideways markets.
[Camarilla Pivots] Signal Clean Up Analysis with Backtest (TSO)Camarilla Pivots NEW GEN Indicator!
This is a full-cycle trading system indicator, which uses Camarilla Pivots for generating signals using a custom developed algorithm, TP (Take Profit) and SL (Stop Loss) levels. There are 3 SOURCES for signals (each can be used separately or in combination or all 3 can be used at the same time, each signal SOURCE is using Camarilla Pivots levels to open optimal trade direction) with chained (NOTE: There are many potential profitable setups available, by combining clean up features availabe in the indicator settings!) signal cleanup and analysis approach with scheduling and alerting capabilities. Works best with shorter timeframes: 1M, 5M, 15M, 1H.
NOTE: Every calculation is done on a confirmed closed candle bar state, so the indicator will never repaint!
NOTE: At position open - there will be calculated Take-Profit and Stop-Loss targets, however each target is considered hit, when candle bar closes breaking that target, so Take-Profit and Stop-Loss when hit will slightly differ then what you see at position open!
===========================================================================
Explanation of all the Features | Configuration Guide | Indicator Settings | Signal Cleanup Analysis
---------------------------------------------------------------------------
>>> Customizable Backtesting for a specific date range, results via TradingView strategy, which includes “Deep Backtesting” for largest amounts of data on trading results.
>>> Trading Schedule with customizable trading daily time range, automatic closing/alert trades before Power Hour or right before market closes or leave it open until next day.
>>> 3 Trading Systems.
>>> Multiple Signal SOURCEs for opening trades, either SOURCE can be used or both at the same time!
>>> Static/Dynamic Stop-Loss setups (HIGHLIGHT: Stop-Loss will be moved to Entry after TP1 is taken, which minimizes risk).
>>> Single or Multiple profit targets (up to 5).
>>> Take-Profit customizable offset feature (set your Take-Profit targets slightly before everyone is expecting it!).
>>> Candle bar signal analysis (matching candle color, skip opposite structured and/or doji candle uncertain signals).
>>> Additional analysis of VWAP/EMA/ATR/EWO (Elliot Wave Oscillator)/Divergence MACD+RSI/Volume signal confirmation (clean up your chart with indicator showing only the best potential signals!).
>>> Advanced Alerts setup, which can be potentially setup with a trading bot over TradingView Webhook (NOTE: This will require advanced programming knowledge).
===========================================================================
Labels, plots, colors explanations:
---------------------------------------------------------------------------
>>>>> LONG open: green "house" looking arrow below candle bar.
>>>>> SHORT open: red "house" looking arrow above candle bar.
>>>>> LONG/SHORT take-profit target: green/red circles (multi-profit > TP2/3/4/5 smaller circles).
>>>>> LONG/SHORT stop-loss target: green/red + crosses.
>>>>> LONG/SHORT take-profit hits: green/red diamonds.
>>>>> LONG/SHORT stop-loss hits: green/red X-crosses.
>>>>> LONG/SHORT EOD (End of Day | Intraday style) close (profitable trade): green/red squares.
>>>>> LONG/SHORT EOD (End of Day | Intraday style) close (loss trade): green/red PLUS(+)-crosses.
===========================================================================
Date Range and Trading Schedule Settings
---------------------------------------------------------------------------
>>>>> Date Range: Select your start and/or end dates (uncheck “End” for indicator to show results up to the very moment and to use for LIVE trading) for backtesting results, if not using backtesting – uncheck “Start”/“End” to turn it off.
>>>>> Use TradingView “Strategy Tester” to see backtesting results
NOTE: If Strategy Tester does not show any results with Date Ranged fully unchecked, there may be an issue where a script opens a trade, but there is not enough TradingView power to set the Take-Profit and Stop-Loss and somehow an open trade gets stuck and never closes, so there are “no trades present”. In such case you will need to manually check “Start”/“End” dates or use “Depp Backtesting” feature!
>>>>> Trading Schedule: This is where you can setup Intraday Session or any custom session schedule you wish. Turn it ON. Select trading hours. Select EOD (End of Day) setting (NOTE: If it will be OFF, the indicator will assume you are holding your position open until next day!). Please note the EOD trade closure times with the 2 different Intraday close settings when turned on:
At Market Close:
1/3/5min > will close at 15:55pm ET
15min > will close at 15:45pm ET
30min > will close at 15:30pm ET
45min > will close at 15:45pm ET
60min > will close at 15:00pm ET
Before Power Hour:
1/3/5min > will close at 15:00pm ET
15min > will close at 15:00pm ET
30min > will close at 15:00pm ET
45min > will close at 15:00pm ET
60min > will close at 15:00pm ET
>>> Trading Systems: 1) "Open Until Closed by TP or SL": the signal will only open a trade if no trades are currently open/trunning, a trade can only be closed by Take Profit, Stop Loss or End of Day close (if turned on) | 2) "Open Until Closed by TP or SL + OCA": Same as 1), but if there is an opposite signal to the trade which is currently open > it will immediately be closed with new trade open or End of Day close (if turned on) | 3) "OCA (no TP or SL)": There are is Take Profit or Stop Loss, only an opposite signal will close current trade and open an opposite one or End of Day close (if turned on).
>>> Position Open sources:
>>>>> Position Open - SOURCE1 | LONG: S3, SL: S4, TP1: R3, TP2: R4, TP3: R5, TP4/5: Smart Formula | SHORT: R3, SL: R4, TP1: S3, TP2: S4, TP3: S5, TP4/5: Smart Formula
>>>>> Position Open - SOURCE2 | LONG: R4, SL: R3, TP1: R5, TP2/3/4/5: Smart Formula | SHORT: S4, SL: S3, TP1: S5, TP2/3/4/5: Smart Formula
>>>>> Position Open - SOURCE3 | LONG: R5, SL: R4, TP1/2/3/4/5: Smart Formula | SHORT: S5, SL: S4, TP1/2/3/4/5: Smart Formula
>>> Turn On/Off: Current Position SL + Opposite Position Open Signal on the same closing candle bar (If current trade hits Stop-Loss and at that same closing candle bar there is a signal for an opposite direction trade > indicator will close current position as Stop-Loss and immediately open an opposite position). NOTE: With this option turned on, there will be more trades, but not necessarily better results, since after Stop-Loss is hit, it may make sense to wait a little before opening an opposite trade, even if it matches the condition at the same time when Stop-Loss is hit, but sometimes it shows great results, so this setting/feature is included.
>>> Turn On/Off: Turn On/Off: Current Position REGULAR SL | Only the SL + Opposite Position Open will trigger if turned on, IF NOT - THERE WILL BE NO STOP-LOSS AT ALL!!! NOTE: It is very dangerous to trade without Stop-Loss!
>>>>> Signal Candle Bar consuming Take-Profits - position/trade signal candle bar is big enought to "consume"/close ahead the first TP setting > the signal can either be skipped, or all Take-Profit areas pushed ahead using smart formula)
>>>>> MULTIPROFIT | TP (Take-Profit) System: Once the trade is open, all Take-Profit target(s) are immediately calculated and set for the trade > once the target(s) is hit > trade will be partially closed (if candle bar closes beyond several Take-Profit targets > trade will be reduced accordingly to the amount of how many Take-Profit targets were hit)
>>>>> MULTIPROFIT | SL (Stop-Loss) System: 1) Static – Once the trade is open, Stop-Loss is calculated and set for the remaining of the trade ||| 2) Dynamic – At trade open, Stop-Loss is calculated and set the same way, however once 1st Take-Profit is taken > Stop-Loss is moved to Entry, reducing the risk.
>>>>> # of TPs (number of take profit targets): Just like it is named, this is where you select the number of Take-Profit targets for your trading system (NOTE: If "OCA (no TP or SL)" Trading System is selected, this setting won’t do anything, since there are no TP or SLs for that system).
>>>>> TP(s) offset: This is a special feature for all Take-Profit targets, where you can turn on a customizable offset, so that if the price is almost hitting the Take-Profit target, but never actually touches it > you will capture it. This is good to use with HHLL (Highest High Lowest Low), which is pretty much a Support/Resistance as often the price will nearly touch these strong areas and turn around…
===========================================================================
Signal Analysis and Cleanup Settings
---------------------------------------------------------------------------
>>>>> Candle Analysis | Candle Color signal confirmation: If closed candle bar color does not match the signal direction > no trade will be open.
>>>>> Candle Analysis | Skip opposite candle signals: If closed candle bar color will match the signal direction, but candle structure will be opposite (for example: bearish green hammer, long high stick on top of a small green square) > no trade will be open.
>>>>> Candle Analysis | Skip doji candle signals: If closed candle bar will be the uncertain doji > no trade will be open.
>>>>> Divergence/Oscillator Analysis | EWO (Elliot Wave Oscillator) signal confirmation: LONG will only be open if at signal, EWO is green or will be at bullish slope (you can select which setting you desire), SHORT if EWO is red or will be at bearish slope.
>>>>> Divergence/Oscillator Analysis | VWAP signal confirmation: LONG will only be open if at signal, the price will be above VWAP, SHORT if below.
>>>>> Divergence/Oscillator Analysis | Moving Average signal confirmation: LONG will only be open if at signal, the price will be above selected Moving Average, SHORT if below.
>>>>> Divergence/Oscillator Analysis | ATR signal confirmation: LONG will only be open if at signal, the price will be above ATR, SHORT if below.
>>>>> Divergence/Oscillator Analysis | RSI + MACD signal confirmation: LONG will only be open if at signal, RSI + MACD will be bullish, SHORT if RSI + MACD will be bearish.
>>>>> Volume signal confirmation: LONG/SHORT will only be opened with strong Volume matching the signal direction, by default, strong Volume percentage is set to 150% and weak to 50%, but you can change it as you desire.
===========================================================================
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
TP System - VERY IMPORTANT INFO!
-------------------------------------------------------------------------------------------------------------------
"TP PERCENTAGE" - amount by which current trade/position needs to be reduced/partially closed/sold.
-------------------------------------------------------------------------------------------------------------------
TP System: Dynamic
"TP PERCENTAGE" - will always be the same amount (trade/position size divided by the # of take-profit(TP) targets) and percentage to be closed will always be of the ORIGINAL trade/position.
-------------------------------------------------------------------------------------------------------------------
TP System: Static
"TP PERCENTAGE" - will always be the same amount IF take-profit(TP) targets are hit 1-by-1 (TP1 > TP2 > TP3 > TP4 > TP5), otherwise it will vary and unless it is a 1st take-profit(TP1), the REMAINING trade/position size will always be smaller than original and therefore the percentage to be closed will always be of the REMAINING trade/position and NOT the original one!
-------------------------------------------------------------------------------------------------------------------
"TP PERCENTAGE" CheatSheet (these are the only percentages you may see)
-----------------------------------------------------------------------
TP PERCENTAGE---Close/Sell Amount-------------Example (trade size: 50 stocks)
20%-------------trade size * 0.2--------------50 * 0.2 = 10 stocks
25%-------------trade size * 0.25-------------50 * 0.25 = 12.5(~13) stocks
34%-------------trade size * 0.34-------------50 * 0.34 = 17 stocks
40%-------------trade size * 0.4--------------50 * 0.4 = 20 stocks
50%-------------trade size * 0.5--------------50 * 0.5 = 25 stocks
60%-------------trade size * 0.6--------------50 * 0.6 = 30 stocks
66%-------------trade size * 0.66-------------50 * 0.66 = 33 stocks
75%-------------trade size * 0.75-------------50 * 0.75 = 37.5(~38) stocks
80%-------------trade size * 0.8--------------50 * 0.8 = 40 stocks
100%------------trade size--------------------50 = 50 stocks
-----------------------------------------------------------------------
If for any reason a portion of the current/remaining trade closed at such occurrence was slightly wrong, it is not an issue. Such occurrences are rare and with slight difference in partial TP closed is not significant to overall performance of our algorithms.
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
Alert Settings (you don’t have to touch this section unless you will be using TradingView alerts through a Webhook to use with trading bot)
---------------------------------------------------------------------------
Here is how a LONG OPEN alert looks like.
NOTE: Each label , , etc. is customizable, you can change the text of it within indicator Input settings.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: OPEN
ENTRY: 20000
TP1: 20500
TP2: 21000
TP3: 21500
TP4: 22500
TP5: 23500
SL: 19000
Leverage: 0
---------------------------------------------------------------------------
Here is how a TP1 alert will look with 5 TPs breakdown of the trade.
NOTE1: Next to TP1 taken it will show at which price it was triggered.
NOTE2: Next to "TP Percentage" it shows how much of the CURRENT/ACTIVE/REMAINING trade needs to be closed.
NOTE2: If TP2/3/4/5 comes before TP1 - the alert will tell you exactly how many percent of the trade needs to be closed!
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: TP1
TP1: 20500
TP Percentage: 20%
---------------------------------------------------------------------------
Here is how an alert will look for LONG - STOP-LOSS.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
ENTRY: 20000
LONG: SL
SL: 19000
---------------------------------------------------------------------------
Here is how an alert will look for LONG - EOD (End of Day) In Profit close.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: EOD-Close (profit)
ENTRY: 20000
EOD-Close: 21900
===========================================================================
Adding Alerts in TradngView
---------------------------------------------------------------------------
-Add indicator to chart and make sure it is configured (check back-testing results)
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Alert name: Whatever you want
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
===========================================================================
If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, past performance is not necessarily indicative of future results, so please trade responsibly!)
---------------------------------------------------------------------------
NOTE: There seems to be a strange glitch when strategy is running live, it will show "double-take" take-profits labels on the chart. This is not affecting the script logic and backtesting results, if you will remove/re-add the script afterwards, it will no longer show the duplicate orders... this must be some sort of a glitch as every alert was thoroughly tested to make sure everything is working!
BTFD strategy [3min]Hello
I would like to introduce a very simple strategy to buy lows and sell with minimal profit
This strategy works very well in the markets when there is no clear trend and in other words, the trend going sideways
this strategy works very well for stable financial markets like spx500, nasdaq100 and dow jones 30
two indicators were used to determine the best time to enter the market:
volume + rsi values
volume is usually the number of stocks or contracts traded over a certain period of time. Thus, it is an important indicator of market activity and liquidity. Each transaction constitutes an individual exchange between the buyer and the seller and constitutes the trading volume of a given instrument or asset.
The RSI measures the strength of uptrends versus downtrends. The signal is the entry or exit of the indicator value of the oversold or overbought level of the market. It is assumed that a value below or equal 30 indicates an oversold level of the market, and an RSI value above or equal 70 indicates an overbought level.
the strategy uses a maximum of 5 market entries after each candle that meets the condition
uses 5 target point levels to close the position:
tp1= 0.4%
tp2= 0.6%
tp3= 0.8%
tp4= 1.0%
tp5= 1.2%
after reaching a given profit value, a piece of the position is cut off gradually, where tp5 closes 100% of the remaining position
each time you enter a position, a stop loss of 5.0% is set, which is quite a high value, however, when buying each, sometimes very active downward price movement, you need a lot of space for market decisions in which direction it wants to go
to determine the level of stop loss and target point I used a piece of code by RafaelZioni , here is the script from which a piece of code was taken
this strategy is used for automation, however, I would recommend brokers that have the lowest commission values when opening and closing positions, because the strategy generates very high commission costs
Enjoy and trade safe ;)
Ta StrategyHello guys
This script follows traditional technical indicators
MACD, ADX, RSI and pivot points
If the price is above the resistance and the MACD has crossover ,and the RSI 14 is above 50
ADX is higher than 20, and DI+ is higher than DI-. This is a buy signal and vice versa for a sell signal
The script moves the stop loss to the entry price after the first target is reached
You can specify the quantity you want to sell when the price reaches the first target
There are also options like if you want the script to entry long or short, or both
you can reverse the strategy if it does not work well
If you want to inquire about any details, please let me know in the comments
D-BoT Alpha 'Short' SMA and RSI StrategyDostlar selamlar,
İşte son derece basit ama etkili ve hızlı, HTF de çok iyi sonuçlar veren bir strateji daha, hepinize bol kazançlar dilerim ...
Nedir, Nasıl Çalışır:
Strateji, iki ana girdiye dayanır: SMA ve RSI. SMA hesaplama aralığı 200 olarak, RSI ise 14 olarak ayarlanmıştır. Bu değerler, kullanıcı tercihlerine veya geriye dönük test sonuçlarına göre ayarlanabilir.
Strateji, iki koşul karşılandığında bir short sinyali oluşturur: RSI değeri, belirlenen bir giriş seviyesini (burada 51 olarak belirlenmiş) aşar ve kapanış fiyatı SMA değerinin altındadır.
Strateji, kısa pozisyonu üç durumda kapatır: Kapanış fiyatı, takip eden durdurma seviyesinden (pozisyon açıldığından beri en düşük kapanış olarak belirlenmiştir) büyükse, RSI değeri belirlenen bir durdurma seviyesini (bu durumda 54) aşarsa veya RSI değeri belirli bir kar al seviyesinin (bu durumda 32) altına düşerse.
Güçlü Yönleri:
İki farklı gösterge (SMA ve RSI) kullanımı, yalnızca birini kullanmaktan daha sağlam bir sinyal sağlayabilir.
Strateji, karları korumaya ve fiyat dalgalanmalarında kayıpları sınırlamaya yardımcı olabilecek bir iz süren durdurma seviyesi içerir.
Script oldukça anlaşılır ve değiştirmesi nispeten kolaydır.
Zayıf Yönleri:
Strateji, hacim, oynaklık veya daha geniş piyasa eğilimleri gibi diğer potansiyel önemli faktörleri göz önünde bulundurmaz.
RSI seviyeleri ve SMA süresi için belirli parametreler sabittir ve tüm piyasa koşulları veya zaman aralıkları için optimal olmayabilir.
Strateji oldukça basittir. Trade maliyetini (kayma veya komisyonlar gibi) hesaba katmaz, bu da trade performansını önemli ölçüde etkileyebilir.
Bu Stratejiyle Nasıl İşlem Yapılır:
Strateji, short işlemler için tasarlanmıştır. RSI, 51'in üzerine çıktığında ve kapanış fiyatı 200 periyotluk SMA'nın altında olduğunda işleme girer. RSI, 54'ün üzerine çıktığında veya 32'nin altına düştüğünde veya fiyat, pozisyon açıldığından beri en düşük kapanış fiyatının üzerine çıktığında işlemi kapatır.
Lütfen Dikkat, bu strateji veya herhangi bir strateji izole bir şekilde kullanılmamalıdır. Tüm bu çalışmalar eğitsel amaçlıdır. Yatırım tavsiyesi içermez.
This script defines a trading strategy based on Simple Moving Average (SMA) and the Relative Strength Index (RSI) indicators. Here's an overview of how it works, along with its strengths and weaknesses, and how to trade using this strategy:
How it works:
The strategy involves two key inputs: SMA and RSI. The SMA length is set to 200, and the RSI length is set to 14. These values can be adjusted based on user preferences or back-testing results.
The strategy generates a short signal when two conditions are met: The RSI value crosses over a defined entry level (set at 51 here), and the closing price is below the SMA value.
When a short signal is generated, the strategy opens a short position.
The strategy closes the short position under three conditions: If the close price is greater than the trailing stop (which is set as the lowest close since the position opened), if the RSI value exceeds a defined stop level (54 in this case), or if the RSI value drops below a certain take-profit level (32 in this case).
Strengths:
The use of two different indicators (SMA and RSI) can provide a more robust signal than using just one.
The strategy includes a trailing stop, which can help to protect profits and limit losses as the price fluctuates.
The script is straightforward and relatively easy to understand and modify.
Weaknesses:
The strategy doesn't consider other potentially important factors, such as volume, volatility, or broader market trends.
The specific parameters for the RSI levels and SMA length are hard-coded, and may not be optimal for all market conditions or timeframes.
The strategy is very simplistic. It doesn't take into account the cost of trading (like slippage or commissions), which can significantly impact trading performance.
How to trade with this strategy:
The strategy is designed for short trades. It enters a trade when the RSI crosses above 51 and the closing price is below the 200-period SMA. It will exit the trade when the RSI goes above 54 or falls below 32, or when the price rises above the lowest closing price since the position was opened.
Please note, this strategy or any strategy should not be used in isolation. It's important to consider other aspects of trading such as risk management, capital allocation, and combining different strategies to diversify. Back-testing the strategy on historical data and demo trading before going live is also a recommended practice.
BB and KC StrategyThis script is designed as a TradingView strategy that uses Bollinger Bands (BB) and Keltner Channels (KC) as the primary indicators for generating trade signals. It aims to catch potential market trends by comparing the movements of these two popular volatility measures.
Key aspects of this strategy:
1. **Bollinger Bands and Keltner Channels:** Both are volatility-based indicators. The Bollinger Bands consist of a middle band (simple moving average) and two outer bands calculated based on standard deviation, which adjusts itself to market conditions. Keltner Channels are a set of bands placed above and below an exponential moving average of the price. The distance between the bands is calculated based on the Average True Range (ATR), a measure of price volatility.
2. **Entry Signals:** The strategy enters a long position when the upper KC line crosses above the upper BB line and the volume is above its moving average. Conversely, it enters a short position when the lower KC line crosses below the lower BB line and the volume is above its moving average.
3. **Exit Signals:** The strategy exits a position under two conditions. First, if the trade has been open for a certain number of bars defined by the user (default 20 bars). Second, a stop loss and trailing stop are in place to limit potential losses and lock in profits as the price moves favorably. The stop loss is set at a percentage of the entry price (default 1.5% for long and -1.5% for short), and the trailing stop is also a percentage of the entry price (default 2%).
4. **Trade Quantity:** The script allows specifying the investment amount for each trade, set to a default of 1000 currency units.
Remember, this is a strategy script, which means it is used for backtesting and not for real-time signals or live trading. It is also recommended that it is used as a tool to aid your trading, not as a standalone system. As with any strategy, it should be tested over different market conditions and used in conjunction with other aspects of technical and fundamental analysis to ensure robustness and effectiveness.
Volatility Breakout Strategy [Angel Algo]As traders, we're always looking for opportunities to profit from sudden price breakouts, and the Volatility Breakout Strategy aims to do just that.
This script is the perfect starting point for traders who want to experiment with capturing price movements resulting from increased volatility. The script plots the Average True Range (ATR) on the chart, which is a measure of the asset's volatility over a specified period. By setting the "Length" parameter, you can customize the period over which the volatility is measured.
Using the ATR, the strategy calculates upper and lower breakout levels and plots them on the chart. The signals for long and short positions are generated when the price crosses above the upper breakout level or below the lower breakout level, respectively. They are confirmed by checking the current bar state.
The strategy also fills the space between the upper and lower breakout levels with a color that indicates the latest signal direction. This feature helps traders quickly identify the prevailing trend.
The strategy uses the generated signals to enter trades. When a long or short signal is confirmed, and there is no open position in the direction of the signal, the strategy enters a long or short trade, respectively.
Choice of parameters.
Choosing the right value for the Length input parameter is crucial for tailoring the Volatility Breakout Strategy to suit your trading preferences. In general, a higher Length value implies a focus on capturing longer price moves. For instance, in this script, we have set the Length value to 20, resulting in trades that span approximately 100 candles. These trades encompass price trends consisting of multiple swings.
However, if your goal is to trade individual swings rather than longer trends, it's advisable to experiment with smaller values for the Length parameter. By reducing the Length, you can target shorter-term price movements and potentially increase the frequency of trades.
It's important to note that while a higher Length value tends to lead to longer trades, there is no strict correlation between the Length parameter and the average length of trades. This can vary across different markets. Therefore, it's essential to conduct thorough experimentation with various Length values and closely observe the length of trades they generate. Comparing these trade lengths with the average trend or swing length in the specific market can provide valuable insights.
Ideally, you should aim to select a Length value that aligns with the average trend or swing length observed in the market you are trading. This way, you can optimize the strategy to capture price movements that closely match the prevailing market conditions.
Remember, finding the optimal Length value is a process of trial and error, combined with careful observation of trade lengths and their correlation with market trends. So, don't be afraid to experiment and refine the Length parameter to maximize the effectiveness of the Volatility Breakout Strategy in your chosen market.
Disclaimer: This trading strategy is provided for educational and informational purposes only.Trading involves risk, and past performance is not indicative of future results.
Gold Fair Value Gap Entry(FVG GOLD)This script calculates the fair value of gold, which is set as an input parameter. It then gets the current price of gold and calculates the gap between the price and the fair value. If the gap is positive, it enters a long trade, and if it's negative, it enters a short trade.
The script also uses proper risk management techniques by setting a stop loss and take profit for each trade. The plot() function is used to display the fair value and gap on the chart.
Please note that this is just an example script, and you should customize it based on your specific trading strategy and criteria. It's also important to backtest your strategy and refine it before using it with real money.
DCA Simulator A simple yet powerful Dollar Cost Averaging (DCA) simulator.
You just add the script to your chart, and you'll be able to see:
- Every single entry with its size
- The evolution of you average price in time (blue line)
- The profit and loss areas (where market price < average price the DCA is at loss, and the background is colored in red. At the contrary, where mkt price is > average price, it's profit area and the background is green).
- Max drawdown: the point in price and time where the DCA loss is maximum in the considered time interval. The drawdown amount is specified.
- Profit (or loss) and total cost at the end of the time interval or at the present day: the script shows how much the DCA is netting at a profit or loss, as well as the total cost of the DCA itself.
The parameters are:
- Date start and date end: time interval of the DCA simulation
- DCA period (you can choose between daily, weekly and monthly)
- Week day or month day if you choose those periods
- Single operation size (in base currency)
- Option to choose a DCA LONG or DCA SHORT (for uber bears)
- Option to include an exit strategy that partially closes your position (the % size closed can be chosen as well with the parameter "exit_close_perc") every time the DCA realizes a specific gain (choosable with the parameter "exit_gain_threshold"). If you choose "none" as an exit strategy, the script will assume to never close positions until the end of the period or the present day for simulation purpose.
NB: just ignore the TV strategy tester results, all the data are visible on the chart.
[SPOILED]SuperTrench - ETH Super ScalperHi Traders,
I'm republishing this script as I finally polished it to perfection IMO. The script uses 5 coding sections: entry, trend filter, pivot filter, take profit, and stop loss. The script mainly uses trailing as take profit; this is probably the easiest way to make a profitable scalper strategy.
Backtest capital is set to 1000 USDT, 35% equity, 0.04% commission, limited backtest date from Jan 2022 to now, backtested on ETH/USDT prep contracts 15m timeframe, result as shown below.
It looks unreal right? Hell no, I actually tested this strategy on Binance from Dec 06 to Dec 10. I got 8.29% return with 4x leverage, 50% equity setup; 75% win rate,1.58 profit factor, with 4.3% max drawdown, it is amazingly close to the backtest result.
User Manual
Entry >>> Stoch RSI:
I added 5 MA types to the Stoch RSI which is HMA/VWMA/WMA/EMA/SMA, HMA with Length setting of 5, 8 seems to be most efficient, VWMA and WMA with 8, 13 will generate less entry signals but with less entry risks.
Entry >>> R Style:
It based on price action, with candlestick makes a U turn, after 2nd candlestick confirmed, it generates entry signal, this will give you some extra entries, better leave it enabled.
Entry >>> Price Step:
This probably is the core feature of this strategy; also my secret ingredient to making this strategy this efficient. It is recommended to enable step 1-5, more steps basically means more entries, but they are not necessarily profitable.
Trend Filter >>> Price Step:
I couldn't tell you much details about how this indicator works, but it is a reliable indicator, based on price action, and I got some ideas from Demark9 indicator. The bigger the level, the stronger the filter is, please note that if 'Price Step Entries' less than Price Step Trend, entries will be ignored.
Pivot Filter >>> RSI Pivot & Pinbar Pivot:
RSI Pivot detects if the RSI signal line making U turn in certain condition, Pinbar detection combines R Style entry when price action U turn took place, these 2 pivot filter will close the trade once it is counter trend, so it better enable and leave it as is.
Trend Filter >>> Trend Magic:
Trend Magic uses CCI and ATR to calculate trend status, green means uptrend, red means downtrend, pretty straight forward, the best value for this indicator would be, 21, 34, 55, 89.
Trend Filter >>> Alpha:
This filter combines R style pivot, price step, EMA all together to detects consolidation area, because EMA was involved, so the best look back period would be around 15-35, it is best to use default value IMO, in another hands, if you need stronger filter, feel free to use 10, 18, 20, 25, 30, 35, make sure look back period should increase or decrease by 5 every time.
Take Profit and Stop Loss:
The default value for tp is set to 0.4%, but I also give you option to switch to ATR TP; you can adjust in the ATR multiplier, default ATR trailing stop loss uses 1 ATR, but you can adjust it for better drawdown tolerance. Fixed ATR SL is also given when fixed ATR is enabled. There will be a failsafe SL default set to 1% if price moves counter direction of opened position, it will close trade no matter what happens.
Enjoy :)